Лорд Беккет писал(а):
В чате есть бот, его имя - Агент Смит, у него потом будет свой профиль на форуме, а пока я должен продумать его алгоритм, чтобы был достаточно умным. Вот, приблизительно:
1. Сообщение пользователя разбивается на слова и каждое анализируется отдельно. Все знаки препинания убираются
2. Анализ слов.
2.1. Определение направления сообщения на основе знаков препинания, стоящих в конце (вопрос - ?, восклицание - !, повествование - нет знаков, недописанное сообщение - ...)
2.2. Определение тематики разговора. Для этого берутся все слова и производится полнотекстовый поиск в базе знаний (как в Яндексе), берется самый релевантный результат и по нему определяется тематика разговора.
2.3. Определение настроения сообщения по вежливым/матерным словам и настройка ИИ соответственно настроению сообщения (т.е. на мат ответит матом, на вежливость - вежливо), но при этом добавляется собственное настроение ИИ (т.е. его эмоции - злой, в хорошем настроении и т.д.), в зависимости от этого генерируется окончательный ответ
2.4. Выбор ответа на основе базы знаний и тематики разговора с добавлением матерных/вежливых слов в зависимости от настроения ИИ.
3. Добавление некоего рандома в сообщение, чтобы оно не было всегда одинаковым
4. Вывод сообщения.